//立即执行函数
window.fi = {};
//所谓的栈就是只有一端作为读取的方法
(function() {
    //数组封装成列表
    //一般的函数以小写字母开头

    function stack() {
        this.dataStore = [];
        this.top = 0; //永远指向下一个要添加的元素的位置
    }

    stack.prototype.clear = function(element, after) {
        delete this.dataStore;
        this.dataStore = [];
    };

    stack.prototype.length = function() {
        return this.top;
    };

    stack.prototype.push = function(element) {
        this.dataStore.push(element);
        this.top++;
    };

    stack.prototype.shift = function() {
        this.top--;
        return this.dataStore.shift();
    };

    stack.prototype.get = function() {
        return this.dataStore[this.top - 1];
    };

    //构造函数当类用（大写开头）
    window.fi.Stack = stack;
})();